package ar.edu.utn.frba.disenio.aterrizar.busquedas;

import org.uqbar.commons.model.UserException;
import org.uqbar.commons.utils.Observable;

import ar.edu.utn.frba.disenio.aterrizar.excepciones.NoEsParseablePorFormatoException;
import ar.edu.utn.frba.disenio.aterrizar.fechas.Fecha;
import ar.edu.utn.frba.disenio.aterrizar.fechas.Latinoamericano;

@Observable
public class CriterioBusqueda {
	
	public String origen;
	public String destino;
	public Fecha fecha;
	public int escalas;

	public CriterioBusqueda(String origen, String destino, String fecha, int escalas){
		
		try{
			Latinoamericano latin = new Latinoamericano();
			this.fecha = latin.parsear(fecha);	
		}catch(NoEsParseablePorFormatoException e){
			throw new UserException(e.errorMessage());
		}		
		this.origen = origen;
		this.destino = destino;
		this.escalas = escalas;	
	}
	
	public int decrementarEscalas(){
		this.escalas = this.escalas - 1;
		return this.escalas;
	}
	
	public String getOrigen() {
		return origen;
	}
	public void setOrigen(String origen) {
		this.origen = origen;
	}
	public String getDestino() {
		return destino;
	}
	public void setDestino(String destino) {
		this.destino = destino;
	}
	public Fecha getFecha() {
		return fecha;
	}
	public void setFecha(Fecha fecha) {
		this.fecha = fecha;
	}	
	public int getEscalas() {
		return escalas;
	}
	public void setEscalas(int escalas) {
		this.escalas = escalas;
	}
	
}